/* ---------------------------------------------
   اضافه کردن فیلد انتخاب آواتار به فرم دیدگاه
--------------------------------------------- */
add_filter('woocommerce_product_review_comment_form_args', 'sigmaweb_add_avatar_field_to_comment');
add_filter('comment_form_defaults', 'sigmaweb_add_avatar_field_to_comment'); // برای نوشته‌ها

function sigmaweb_add_avatar_field_to_comment($comment_form) {
    // فقط برای پست تایپ‌های مجاز اجرا شود
    $allowed_post_types = ['product', 'my_custom_post_type']; // نام پست تایپ‌های مجاز
    if (!in_array(get_post_type(), $allowed_post_types)) {
        return $comment_form;
    }

    $avatar_options = [
        'avatar1' => get_site_url() . '/wp-content/uploads/2025/08/man1.webp',
        'avatar2' => get_site_url() . '/wp-content/uploads/2025/08/woman2.webp',
        'avatar3' => get_site_url() . '/wp-content/uploads/2025/08/man2.webp',
        'avatar4' => get_site_url() . '/wp-content/uploads/2025/08/woman1.webp',
    ];

    $avatar_field = '<div class="sigmaweb-comment-avatar">
                        <label>' . __('دیدگاه شما را با چه تصویری نمایش دهیم؟') . '</label>
                        <div class="sigmaweb-avatar-wrapper">';

    foreach ($avatar_options as $key => $url) {
        $avatar_field .= '<label class="sigmaweb-avatar-label">
                            <input type="radio" name="sigmaweb_avatar" value="' . esc_url($url) . '">
                            <img src="' . esc_url($url) . '" alt="avatar">
                          </label>';
    }

    $avatar_field .= '</div></div>';

    $comment_form['comment_field'] .= $avatar_field; // اضافه کردن بعد از textarea
    return $comment_form;
}

/* ---------------------------------------------
   ذخیره انتخاب کاربر
--------------------------------------------- */
add_action('comment_post', 'sigmaweb_save_comment_avatar');
function sigmaweb_save_comment_avatar($comment_id) {
    if (isset($_POST['sigmaweb_avatar'])) {
        $avatar = esc_url_raw($_POST['sigmaweb_avatar']);
        add_comment_meta($comment_id, 'sigmaweb_avatar', $avatar, true);
    }
}

/* ---------------------------------------------
   نمایش تصویر انتخاب شده کنار دیدگاه
--------------------------------------------- */
add_filter('get_avatar', 'sigmaweb_display_comment_avatar', 10, 5);
function sigmaweb_display_comment_avatar($avatar, $id_or_email, $size, $default, $alt) {
    $comment = false;
    if (is_object($id_or_email) && isset($id_or_email->comment_ID)) {
        $comment = $id_or_email;
    } elseif (is_numeric($id_or_email)) {
        $comment = get_comment($id_or_email);
    }

    if ($comment) {
        $allowed_post_types = ['product', 'my_custom_post_type'];
        if (!in_array(get_post_type($comment->comment_post_ID), $allowed_post_types)) {
            return $avatar;
        }

        $custom_avatar = get_comment_meta($comment->comment_ID, 'sigmaweb_avatar', true);
        if ($custom_avatar) {
            $avatar = "<img alt='" . esc_attr($alt) . "' src='" . esc_url($custom_avatar) . "' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
        }
    }
    return $avatar;
}
